package org.dromara.system.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.system.domain.ZtCoupon;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 优惠卷视图对象 zt_coupon
 *
 * @author Lion Li
 * @date 2024-06-25
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ZtCoupon.class)
public class ZtCouponVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 类型（01：满减卷，02：折扣卷）
     */
    @ExcelProperty(value = "类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "01=满减卷,02=折扣卷")
    private String type;

    /**
     * 优惠卷名称
     */
    @ExcelProperty(value = "优惠卷名称")
    private String name;

    /**
     * 优惠卷到期日期
     */
    @ExcelProperty(value = "优惠卷到期日期")
    private Date expirationDate;

    /**
     * 领取之后有效天数
     */
    @ExcelProperty(value = "领取之后有效天数")
    private Long claimValidDays;

    /**
     * 抵扣金额/折扣
     */
    @ExcelProperty(value = "抵扣金额/折扣")
    private BigDecimal amountOfMoney;

    /**
     * 最少满足金额
     */
    @ExcelProperty(value = "最少满足金额")
    private BigDecimal minAmount;

    /**
     * 使用说明
     */
    @ExcelProperty(value = "使用说明")
    private String remark;

    /**
     * 是否开启（Y：是，N：否）
     */
    @ExcelProperty(value = "是否开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "Y=是,N=否")
    private String status;

}
